//定义全局变量 记录用户uid 和 fuid
var uid;
var dfu="0";
var path="/"
$(function(){
    $.ajax({
        type:"GET",
        url:path+"user",
        async:true,
        cache:false,
        dataType:"json",
        success:function(responseEntity){
            //alert(responseEntity.status+":"+responseEntity.message+"::"+responseEntity.data.uname);
            if(responseEntity.code==200){
                uid=responseEntity.data.uid;//给uid赋值
                $("#login_modal").modal("hide");//登陆模态框隐藏
                setTableData(0);//给表格设置数据
                $("#small_name").text(responseEntity.data.uname+"的云盘");//把登陆者的名字设置在small_name中
            }else{
                $("#login_modal").modal("show");
            }
        }
    });
});
//登陆方法
function login(){
     //获取登陆ofrm的数据
    var uname=$("#login_form input[name='uname']").val();
    var upwd=$("#login_form  input[name='upwd']").val();
    $.ajax({
        type:"POST",
        data:"uname="+uname+"&upwd="+upwd,
        url:path+"user/login",
        async:true,
        cache:false,
        dataType:"json",
        success:function(responseEntity){
              //alert(responseEntity.status+":"+responseEntity.message+"::"+responseEntity.data.uname);
              alert(responseEntity.msg);
              if(responseEntity.code==200){
                   uid=responseEntity.data.uid;//给uid赋值
                   $("#login_modal").modal("hide");//登陆模态框隐藏
                   setTableData(0);//给表格设置数据
                  $("#small_name").text(responseEntity.data.uname+"的云盘");//把登陆者的名字设置在small_name中
              }
        }
    });
}
//给table中填充数据
function setTableData(did){
    $("#tab").bootstrapTable({
        toolbar:"#toolbar",//添加按钮组
        url:path+"file/cd/"+did ,//指定url
        method:"GET",
        cache:false,
        dataType:"json",
        responseHandler:function(responseEntity){//responseHandler由响应数据中获取table要显示的数据
            isLogin(responseEntity.code);
            return {
                rows:responseEntity.data
            };
        },
        //定义columns属性  指定每列要显示的内容
        columns:[
            {checkbox:true//删除的多选框
            },{
                title:"文件名字",//指定列名
                //field:"dname"   //要显示data中对象的那个属性的值
                formatter: function (value, row, index) {
                    if(row.ftype==1){//是文件
                        return '<a  class="btn btn-default" href="'+path+'resource/'+row.fid+'"><span class="glyphicon glyphicon-save" '
                            +'aria-hidden="true"></span>&emsp;'+row.fname +'</a>';
                    }
                    dfu = row.ffaterFid;
                    //文件夹
                    return '<button type="button" class="btn btn-default" onclick="intoMyDirectory('+row.fid+');"><span class="glyphicon glyphicon-folder-open" aria-hidden="true"></span>&emsp;'
                        +row.fname +'</button>';
                }
            },{
                title:"创建时间",
                field:"fcreateTime"
            },{
                title:"文件大小",
                field:"fsize"
            }
        ]
    });
}
//创建文件夹
function createMyDirectory(){
    //获取创建文件夹模态框的数据
    var dname=$("#create_modal input[name='dname']").val();
    var json = {};
    json.fname = dname;
    json.ffaterFid = dfu;
    $.ajax({
        type:"POST",
        data:JSON.stringify(json),
        contentType:'application/json;charset=UTF-8',
        url:path+"file/create",
        async:true,
        dataType:"json",
        success:function(responseEntity){
            alert(responseEntity.msg);
            isLogin(responseEntity.code);
            if(responseEntity.code==200){
                $("#create_modal").modal("hide");//添加文件夹的模态框隐藏
                $("#tab").bootstrapTable("refresh");//刷新表格的数据
            }
        }
    });
}
//进入文件夹
function  intoMyDirectory(did){
    dfu=did;//更改dfu
    $("#tab").bootstrapTable("refresh",{url:path+"file/cd/"+did});//刷新表格
}
//后退一步
function directoryBack(){
    $("#tab").bootstrapTable("refresh",{url:path+"file/quit/"+dfu});//刷新表格
}
//删除方法
function deleteChoose(){
    var b=window.confirm("确定要删除？"); if(!b){return;}
    //获取所有被选中的checkbox行对应的score对象
    var rowsColl=$("#tab").bootstrapTable("getSelections");
    for(var i=0;i<rowsColl.length;i++){
        $.ajax({
            type:"DELETE",
            url:path+"file/"+rowsColl[i].fid,
            async:false,
            dataType:"json",
            success:function (responseEntity) {
                isLogin(responseEntity.code);
                $("#tab").bootstrapTable("refresh",{url:path+"file/cd/"+dfu});//刷新表格的数据

            }
        });
    }
    alert("删除成功！");

}

//文件上传的方法
function uploadMyFile(){
    //获取文件上传的form表单
    var  formData=new FormData($("#upload_form")[0]);
    formData.append("ffaterFid",dfu);//给表单数据添加fuid
    //通过ajax模拟表单 实现文件
    $.ajax({
        data:formData,//请求参数
        dataType:"json",//期待的响应数据类型
        type:"POST",//请求方式
        cache:false,//是否使用缓存
        contentType:false,//模拟表单  必须为false
        processData:false,//模拟表单  必须为false
        url:path+"resource/addResource",//请求资源的路径
        success:function(responseEntity){
            alert(responseEntity.msg);
            if(responseEntity.code==200){
                $("#upload_modal").modal("hide");//隐藏添加模态框
                $("#tab").bootstrapTable("refresh");
            }
            isLogin(responseEntity.code);
        }
    });
}
//登出方法
function logout(){
    //通过ajax访问action
    $.ajax({
        dataType:"json",//期待的响应数据类型
        type:"GET",//请求方式
        cache:false,//是否使用缓存
        url:path+"user/logout",//请求资源的路径
        success:function(responseEntity){
            alert(responseEntity.msg);
            if(responseEntity.code==200){
                $('#tab').bootstrapTable('destroy');//清空表格的数据
                uid=undefined;
                dfu="0";
                $("#login_modal").modal("show");//登陆模态框显示
            }
        }
    });
}

function isLogin(code){
    if(code ==5001){
        $('#tab').bootstrapTable('destroy');//清空表格的数据
        uid=undefined;
        dfu="0";
        $("#login_modal").modal("show");//登陆模态框显示
    }
}
